﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Aprendete.Models
{
    public class EvaluacionAdmin
    {
        InscritoRepository inscritorepo = new InscritoRepository();
        EvaluacionRepository evalrepo = new EvaluacionRepository();
        /// <summary>
        /// Este metodo debe ser cambiado después, y es el encargado de guardar la evaluación.
        /// </summary>
        /// <param name="nota">deben ser varios parametros para la prox entrega</param>
        /// <param name="evaluadorid"></param>
        /// <param name="evaluadoid"></param>
        /// <param name="tutoriaid"></param>
        /// <returns></returns>
        public bool generarEvaluacion(string notas, int evaluadorid, int evaluadoid, int tutoriaid)
        {
            try
            {
                int nota = 0;
                Int32.TryParse(notas, out nota);
                Evaluacion p = new Evaluacion();
                p.Campo1 = nota;
                p.Campo2 = nota;
                p.Campo3 = nota;
                p.Campo4 = nota;
                p.Campo5 = nota;
                p.EvaluacionGral = nota;
                p.EvaluadoID = evaluadoid;
                p.EvaluadorID = evaluadorid;
                p.TutoriaID = tutoriaid;
                evalrepo.Add(p);
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }


        /// <summary>
        /// Este metodo informa si es que existen evaluaciones pendientes
        /// </summary>
        /// <param name="id">id del usuario</param>
        /// <returns></returns>
        public bool evaluacionespendientes(int id){
            if (inscritorepo.GetTutoriasxEvaluar(id).Count != 0)
                return true;
            else
                return false;
        }

        /// <summary>
        /// Este metodo retorna la cantidad de evaluaciones pendientes 
        /// </summary>
        /// <param name="id">id del usuario</param>
        /// <returns></returns>
        public int numeroevaluacionespendientes(int id)
        {
            return inscritorepo.GetTutoriasxEvaluar(id).Count;
               
        }

        /// <summary>
        /// Este metodo retorna el id de una tutoria para que sea evaluada
        /// </summary>
        /// <param name="id">id del usuario</param>
        /// <returns>retorna el id de la tutoria</returns>
        public int tutoriaparaevaluar(int id)
        {
            return inscritorepo.GetTutoriasxEvaluar(id)[0].TutoriaID;
        }

    }
}